package com.molin.threadTest.FoodityAndCooker;

public class Foodie  extends Thread{
    @Override
    public void run() {
        while (true){
            //吃货线程和厨子线程使用同一把锁
            synchronized (Desk.lock){
                if(Desk.count==0){break;}else {
                    //开始执行吃货流程
                    if(Desk.flag){
                        //桌子上有汉堡包
                        System.out.println("吃货在吃汉堡包");
                        Desk.flag=false;//桌子上的汉堡被人吃了
                        Desk.lock.notifyAll();//叫醒厨子做汉堡
                        Desk.count--;//今日汉堡库存减一

                    }else {
                        //桌子上没有汉堡包
                        //使用什么对象当作锁，那么就必须用这个对象去调用等待唤醒的方法
                        try {
                            Desk.lock.wait();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }

                }
            }
        }
    }
}
